//1. 导入 http 模块
const http = require('http');
//导入 querystring 模块(查询字符串模块)
const qs = require('querystring');
const port = 3000;

//2. 创建服务对象
const server = http.createServer((req, res) => {
  //获取请求体的数据
  //1. 声明一个变量
  let body = '';
  //2. 绑定 data 事件
  // 回调函数的执行时机: 「当从读取流中读取一段数据之后, 自动执行」
  req.on('data', chunk => {
    // chunk 本身是一个 buffer, 在于 body 进行 + 运算时, 会自动转为字符串, 进行拼接
    body = body + chunk;
  });

  //3. 绑定 end 事件
  req.on('end', () => {
    //body 的值此时为 「username=1234&password=456」
    // 将 querystring 字符串转为对象
    let bodyObj = qs.parse(body);
    console.log(bodyObj);
  });
  res.end('ok');
});

//3. 监听端口启动服务
server.listen(port, () => {
  console.log('running....');
});